home *** CD-ROM | disk | FTP | other *** search
/ World of Amiga / World of Amiga.iso / archive / assembly / angint3.s.lha / intro.s < prev    next >
Text File  |  1980-02-15  |  30KB  |  1,367 lines

  1. ; AGAIN AN ANGELS INTRO... EASYER TO USE... 
  2. ;type...
  3. ;SEKA>ltext:  <ENTER>
  4. ;SEKA>        <ESC>  to get into editor...
  5. ;EDIT THE TEXT...AND NOW... ASSEMBLE INCLUDE THE IMAGES AND ENJOY...
  6.  
  7.  
  8. >extern "df0:font",font,4352
  9. >extern "df0:angels",angels,4704
  10. >extern "df0:music",data,9412
  11. org    $50000
  12. load    $50000
  13. s:
  14. ;THX TO PICKEL & WERNER OF AFL FOR THIS REPLAY ROUTINE !!
  15. speed = 6    ; play speed
  16. h_sound     = 0
  17. h_length    = 4
  18. h_frequency = 6
  19. h_volume    = 8
  20. s_attack_step     = 0
  21. s_attack_delay    = 1
  22. s_decay_step      = 2
  23. s_decay_delay     = 3
  24. s_sustain         = 4
  25. s_release_step    = 6
  26. s_release_delay   = 7
  27. s_volume          = 8
  28. s_vibrator_wait   = 9
  29. s_vibrator_step   = 10
  30. s_vibrator_length = 11
  31. s_bendrate        = 12
  32. s_portamento      = 13
  33. s_sample          = 14
  34. s_table_delay     = 15
  35. s_arpeggio        = 16
  36. s_sound_length    = 24
  37. s_repeat          = 26
  38. s_repeat_length   = 28
  39. s_table           = 30
  40. s_sounddata       = 78
  41. c_hardware        = 0
  42. c_dma             = 4
  43. c_sounddata       = 6
  44. c_frequency       = 10
  45. c_sound_table     = 12
  46. c_sound_table_cnt = 16
  47. c_sound_table_del = 17
  48. c_track           = 18
  49. c_track_cnt       = 22
  50. c_block           = 24
  51. c_block_cnt       = 28
  52. c_vibrator_wait   = 32
  53. c_vibrator_length = 33
  54. c_vibrator_pos    = 34
  55. c_vibrator_cmp    = 35
  56. c_vibrator_freq   = 36
  57. c_old_frequency   = 38
  58. c_frequency_data  = 40
  59. c_actual_volume   = 41
  60. c_attack_delay    = 42
  61. c_decay_delay     = 43
  62. c_sustain         = 44
  63. c_release_delay   = 46
  64. c_play_speed      = 47
  65. c_bendrate_freq   = 48
  66. c_transpose       = 50
  67. c_status          = 51
  68. c_arpeggio_cnt    = 52
  69. c_arpeggio_data   = 53
  70. c_arpeggio_on     = 54
  71. c_effect_number   = 55
  72. c_effect_data     = 56
  73. start:
  74. movem.l    d0-d7/a0-a6,-(a7)
  75. move.l    4,a6
  76. lea     gfxname,a1
  77. jsr    -408(a6)
  78. move.l    d0,gfxbase
  79. jsr    -132(a6)
  80. move.w  #$03e0,$dff096
  81. lea    $60000,a0
  82. loop1:
  83. move.l    #0,(a0)+
  84. cmp.l    #$7f000,a0
  85. bne    loop1
  86.  
  87. move.w    #$87d0,$dff096
  88. move.l    #$09f00000,$dff040
  89. move.l    #$ffffffff,$dff044
  90. move.w    #0,$dff064
  91. move.w    #42,$dff066
  92. move.l    #0,d5
  93. move.l    #3,d7
  94. vertical:
  95. move.l    #3,d6
  96. move.l    #$60000,d2
  97. add.l    d5,d2
  98. move.l    #angels,d1
  99. horizontal:
  100. move.l    d1,d3
  101. move.l    d2,d4
  102. move.l    #2,d0
  103. blitloop:
  104. move.l    d3,$dff050
  105. move.l    d4,$dff054
  106. move.w    #$1c07,$dff058
  107. add.l    #1568,d3
  108. add.l    #25088,d4
  109. dbf    d0,blitloop
  110. add.l    #14,d2
  111. dbf    d6,horizontal
  112. add.l    #6272,d5
  113. dbf    d7,vertical
  114. move.w  #$03e0,$dff096
  115. bsr    kies
  116. move.l    #text,keeper
  117.  
  118. lea    lettercop,a0
  119. add.w    #2,a0
  120. move.l    #$72ffc,d0
  121. move.l    #1,d3
  122. PlaneLoop3:
  123. swap     d0
  124. move.w     d0,(a0)
  125. add.w     #4,a0
  126. swap     d0
  127. move.w     d0,(a0)
  128. add.w     #4,a0
  129. add.l    #8832,d0
  130. dbf     d3,PlaneLoop3
  131.  
  132. lea    logopl,a0
  133. add.w    #2,a0
  134. move.l    #$60000,d0
  135. move.l    #2,d3
  136. PlaneLoop:
  137. swap     d0
  138. move.w     d0,(a0)
  139. add.w     #4,a0
  140. swap     d0
  141. move.w     d0,(a0)
  142. add.w     #4,a0
  143. add.l    #25088,d0
  144. dbf     d3,PlaneLoop
  145.  
  146. move.l    #newcopper,$dff080
  147. clr.w    $dff088
  148.  
  149. move.l    $6c,oldirq
  150. move.l    #newirq,$6c
  151. bset    #1,$bfe001    ; power on/off
  152.  
  153. bsr    DM_init
  154.  
  155. move.w    #$87e0,$dff096
  156. move.b    #$87,$bfd100
  157. loop:
  158. ;move.w    #$000f,$dff180
  159. cmp.w    #1,uit
  160. beq    end
  161. btst    #6,$bfe001
  162. bne    loop
  163. end:
  164. move.w    #$f,$dff096    ; stop all sound
  165. bclr    #1,$bfe001    ; power on
  166. move.l    oldirq,$6C
  167. move.l    gfxbase,a0
  168. move.l    38(a0),$dff080
  169. move.l    4,a6
  170. jsr    -138(a6)
  171. move.l    gfxbase,a1
  172. jsr    -414(a6)
  173. movem.l    (a7)+,d0-d7/a0-a6
  174. rts
  175.  
  176. oldirq: dc.l 0
  177.  
  178. newirq:
  179. movem.l  d0-d6/a0-a6,-(a7)
  180. bsr    DM_play
  181. bsr    scrollback
  182. goone:
  183. cmp.l    #0,klaar
  184. bne     back
  185. move.l    verander,d0
  186. move.l    d0,klaar
  187. ReturnScroll:
  188. clr.l    d2
  189. move.l    keeppos,a0
  190. move.w    keepcount,d0
  191. add.w    #2,keepcount
  192. add.w    d0,a0
  193. move.w    (a0),d2
  194. move.l    keeper,d1
  195. move.l    d1,keeper2
  196. add.l    d2,keeper2    
  197. move.l    keeper2,a0
  198. move.b    (a0),d4        
  199.  
  200. lea    letters,a1
  201. lea    adds,a2
  202. move.l    #69,d6
  203. sub.l    d5,d5
  204. move.w    (a2)+,d5
  205. search:
  206. cmp.b    (a1)+,d4
  207. beq    place
  208. move.w    (a2)+,d5    
  209. sub.l    #1,d6
  210. cmp.l    #0,d6
  211. beq    notfound
  212. bra    search
  213. notfound:
  214. cmp.b   #$FF,d4
  215. BNE.S   back
  216. move.l    #text,keeper
  217. move.w    #0,keepcount
  218. move.w    #0,sprcount
  219. BRA     ReturnScroll
  220. back:
  221. sub.l    #1,klaar
  222. sub.b    #1,lamer
  223. cmp.b    #0,lamer
  224. bne    goone
  225. move.b    #3,lamer
  226. backk:
  227. move.w #$70,$dff09c        
  228. movem.l (a7)+,d0-d6/a0-a6  
  229. rte
  230.  
  231. kies:
  232. move.l    #7,d7
  233. MOVEM.L D1-D2,-(A7)
  234. MOVE.W $DFF006,D2
  235. MOVE.L RND,D1
  236. SWAP D1
  237. EOR.W D2,D1
  238. MOVE.W D7,D2
  239. SUBQ.W #1,D2
  240. RANDOM2:
  241. ADD.L D1,D1
  242. BHI.S RANDOM3
  243. EOR.L #$1D872B41,D1
  244. RANDOM3:
  245. LSR.W #1,D2
  246. BNE.S RANDOM2
  247. MOVE.L D1,RND
  248. MULU D7,D1
  249. CLR.W D1
  250. SWAP D1
  251. MOVE.L D1,D7
  252. MOVEM.L (A7)+,D1-D2
  253. mulu    #360,d7
  254. move.l    #plaats,keeppos
  255. add.l    d7,keeppos
  256. rts
  257.  
  258. RND:DC.L "RAND"
  259.  
  260. place:
  261. move.l    keeppos,a0
  262. lea    addspr,a2
  263. cmp.w    #358,sprcount
  264. bne    gospr1
  265. move.w    #0,keepcount
  266. add.l    #180,keeper
  267. move.l    d1,keeper2
  268. move.l    #2048,klaar
  269. bsr    kies
  270. gospr1:
  271. cmp.w    #360,sprcount
  272. bne    gospr
  273. move.w    #0,sprcount
  274. gospr:
  275. move.w    sprcount,d0
  276. add.w    d0,a0
  277. add.w    #2,sprcount
  278. move.w    (a0),d4
  279. mulu    #2,d4
  280. add.w    d4,a2
  281. move.w    (a2),d4
  282. move.l    #$09f00000,$dff040
  283. move.l    #$ffffffff,$dff044
  284.  
  285. move.l    #font,d1
  286. move.l    #$73000,d2
  287. move.w    #32,$dff064
  288. move.w    #44,$dff066
  289. add.l    d5,d1
  290. add.l    d4,d2
  291. move.l    #1,d7
  292. sprloop:
  293. move.l    d1,$dff050
  294. move.l    d2,$dff054
  295. move.w    #$401,$dff058
  296. add.l    #2176,d1
  297. add.l    #8832,d2
  298. dbf    d7,sprloop
  299. bra    back
  300.  
  301. scrollback:
  302. clr.l    d0
  303. clr.l    d1
  304. clr.l    d2
  305. clr.l    d5
  306. cmp.b    #112,scrollcounter
  307. bne    goscroll
  308. move.b    #0,scrollcounter
  309. goscroll:
  310. move.b    scrollcounter,d0
  311. add.b    #1,scrollcounter
  312. lea    scrolladds,a0
  313. add.w    d0,a0
  314. move.b    (a0),d5        ;KEEP THE ADDS FOR THE VERTICAL SCROLL
  315. lea    scrollsubs,a0
  316. add.w    d0,a0
  317. move.b    (a0),d0
  318. divu    #16,d0
  319. swap    d0
  320. move.w    #15,d1
  321. lea    shifter,a0
  322. add.w    #2,a0
  323. sub.w    d0,d1
  324. move.w    d1,(a0)        ;SHIFTER COPIED TO COPPERLIST
  325. mulu    #56,d5        ;MULU HEIGHT
  326. move.l    #$60000,d6
  327. add.l    d5,d6
  328. swap    d0
  329. mulu    #2,d0
  330. add.w    d0,d6        ;RIGHT BITPLANE POINTET FOUND FOR NOW!!!
  331. lea    logopl,a0
  332. add.w    #2,a0
  333. move.l    #2,d7
  334. bitloop:
  335. swap    d6
  336. move.w    d6,(a0)
  337. add.w    #4,a0
  338. swap    d6
  339. move.w    d6,(a0)
  340. add.w    #4,a0
  341. add.l    #25088,d6
  342. dbf    d7,bitloop
  343. rts
  344. ;************************
  345. DM_play:
  346.     movem.l    d0-d7/a0-a6,-(a7)
  347.     lea    channel1(pc),a6
  348.     bsr.L    DM_calc_frequency
  349.     lea    channel2(pc),a6
  350.     bsr.L    DM_calc_frequency
  351.     lea    channel3(pc),a6
  352.     bsr.L    DM_calc_frequency
  353.     lea    channel4(pc),a6
  354.     bsr.L    DM_calc_frequency
  355.  
  356.     move.w    #$800f,$dff096
  357. DM_sample_handler:
  358.     move.w    #200,d0
  359. DM_swait:
  360.     dbra    d0,DM_swait
  361.  
  362.     lea    channel1(pc),a6
  363.     move.l    c_hardware(a6),a4
  364.     move.l    c_sounddata(a6),a5
  365.     tst.b    s_sample(a5)
  366.     beq.s    DM_no_sample1
  367.     move.w    s_repeat_length(a5),h_length(a4)
  368.     moveq    #0,d7
  369.     move.w    s_repeat(a5),d7
  370.     add.l    a5,d7
  371.     add.l    #s_table,d7
  372.     move.l    d7,h_sound(a4)
  373. DM_no_sample1:
  374.  
  375.     lea    channel2(pc),a6
  376.     move.l    c_hardware(a6),a4
  377.     move.l    c_sounddata(a6),a5
  378.     tst.b    s_sample(a5)
  379.     beq.s    DM_no_sample2
  380.     move.w    s_repeat_length(a5),h_length(a4)
  381.     moveq    #0,d7
  382.     move.w    s_repeat(a5),d7
  383.     add.l    a5,d7
  384.     add.l    #s_table,d7
  385.     move.l    d7,h_sound(a4)
  386. DM_no_sample2:
  387.  
  388.     lea    channel3(pc),a6
  389.     move.l    c_hardware(a6),a4
  390.     move.l    c_sounddata(a6),a5
  391.     tst.b    s_sample(a5)
  392.     beq.s    DM_no_sample3
  393.     move.w    s_repeat_length(a5),h_length(a4)
  394.     moveq    #0,d7
  395.     move.w    s_repeat(a5),d7
  396.     add.l    a5,d7
  397.     add.l    #s_table,d7
  398.     move.l    d7,h_sound(a4)
  399. DM_no_sample3:
  400.  
  401.     lea    channel4(pc),a6
  402.     move.l    c_hardware(a6),a4
  403.     move.l    c_sounddata(a6),a5
  404.     tst.b    s_sample(a5)
  405.     beq.s    DM_no_sample4
  406.     move.w    s_repeat_length(a5),h_length(a4)
  407.     moveq    #0,d7
  408.     move.w    s_repeat(a5),d7
  409.     add.l    a5,d7
  410.     add.l    #s_table,d7
  411.     move.l    d7,h_sound(a4)
  412. DM_no_sample4:
  413.     movem.l    (a7)+,d0-d7/a0-a6
  414.     rts
  415.  
  416.  
  417. DM_calc_frequency:
  418.     move.l    c_hardware(a6),a4
  419.     move.l    c_sounddata(a6),a5
  420.  
  421.     subq.b    #1,c_play_speed(a6)
  422.     bne.L    DM_block_con
  423.     move.b    play_speed,c_play_speed(a6)
  424.  
  425.     tst.l    c_block_cnt(a6)
  426.     bne.s    DM_check_block
  427. DM_track_step:
  428.     move.l    c_track(a6),a0
  429.     move.w    c_track_cnt(a6),d7
  430.     move.w    (a0,d7.w),d0
  431.     cmp.w    #-1,d0
  432.     bne.s    DM_track_con
  433.     move.w    2(a0,d7.w),d0
  434.     and.w    #$7ff,d0
  435.     asl.w    #1,d0
  436.     move.w    d0,c_track_cnt(a6)
  437.     bra.s    DM_track_step
  438. DM_track_con:
  439.     move.b    d0,c_transpose(a6)
  440.     asr.l    #2,d0
  441.     and.l    #%00000000000000000011111111000000,d0
  442.     add.l    blocks(pc),d0
  443.     move.l    d0,c_block(a6)
  444.     addq.w    #2,c_track_cnt(a6)
  445.  
  446. DM_check_block:
  447.     move.l    c_block(a6),a0
  448.     add.l    c_block_cnt(a6),a0
  449.  
  450.     tst.b    2(a0)
  451.     beq.s    DM_no_new_effect
  452.     move.b    2(a0),c_effect_number(a6)
  453.     move.b    3(a0),c_effect_data(a6)
  454.  
  455. DM_no_new_effect:
  456.     moveq    #0,d0
  457.     move.b    1(a0),d0
  458.     beq.L    DM_test_effect
  459.     add.b    c_transpose(a6),d0
  460.     move.b    d0,c_frequency_data(a6)
  461.  
  462.     move.w    c_dma(a6),d0
  463.     sub.w    #$8000,d0
  464.     move.w    d0,$dff096
  465.  
  466.     moveq    #0,d0
  467.     move.b    d0,c_status(a6)
  468.     move.w    d0,c_bendrate_freq(a6)
  469.     move.w    d0,c_arpeggio_cnt(a6)
  470.     move.b    d0,c_arpeggio_on(a6)
  471.  
  472.     move.b    2(a0),c_effect_number(a6)
  473.     move.b    3(a0),c_effect_data(a6)
  474.  
  475.     lea    snd_table(pc),a1
  476.     move.b    (a0),d0
  477.     asl.l    #2,d0
  478.     move.l    (a1,d0.l),d0
  479.     move.l    d0,c_sounddata(a6)
  480.  
  481.     move.l    d0,a5
  482.     add.l    #s_table,d0
  483.     move.l    d0,c_sound_table(a6)
  484.     clr.b    c_sound_table_cnt(a6)
  485.     tst.b    s_sample(a5)
  486.     beq.s    DM_no_sample_clear
  487.     clr.w    s_table(a5)
  488.     move.l    d0,h_sound(a4)
  489. DM_no_sample_clear:
  490.  
  491.     move.w    s_sound_length(a5),d0
  492.     asr.w    #1,d0
  493.     move.w    d0,h_length(a4)
  494.  
  495.     move.b    s_vibrator_wait(a5),c_vibrator_wait(a6)
  496.     move.b    s_vibrator_length(a5),d0
  497.     move.b    d0,c_vibrator_length(a6)
  498.     move.b    d0,c_vibrator_pos(a6)
  499.     asl.b    #1,d0
  500.     move.b    d0,c_vibrator_cmp(a6)
  501.     clr.b    c_actual_volume(a6)
  502.     clr.b    c_sound_table_del(a6)
  503.     clr.b    c_sound_table_cnt(a6)
  504.     clr.b    c_attack_delay(a6)
  505.     clr.b    c_decay_delay(a6)
  506.     move.w    s_sustain(a5),c_sustain(a6)
  507.     clr.b    c_release_delay(a6)
  508.  
  509. DM_test_effect:
  510.     addq.l    #4,c_block_cnt(a6)
  511.     cmp.l    #64,c_block_cnt(a6)
  512.     bne.s    DM_block_con
  513.     clr.l    c_block_cnt(a6)
  514. DM_block_con:
  515.  
  516.     tst.b    s_sample(a5)
  517.     bne.s    DM_portamento_handler
  518.     tst.b    c_sound_table_del(a6)
  519.     beq.s    DM_sound_table_handler
  520.     subq.b    #1,c_sound_table_del(a6)
  521.     bra.s    DM_portamento_handler
  522.  
  523. DM_sound_table_handler:
  524.     move.b    s_table_delay(a5),c_sound_table_del(a6)
  525.  
  526. DM_sound_read_again:
  527.     move.l    c_sound_table(a6),a0
  528.     moveq    #0,d6
  529.     move.b    c_sound_table_cnt(a6),d6
  530.     cmp.b    #48,d6
  531.     bmi.s    DM_sound_read_c
  532.     clr.b    c_sound_table_cnt(a6)
  533.     moveq    #0,d6
  534. DM_sound_read_c:
  535.     add.l    d6,a0
  536.     moveq    #0,d7
  537.     move.b    (a0),d7
  538.  
  539.     bpl.s    DM_new_sounddata
  540.     cmp.b    #$ff,d7
  541.     bne.s    DM_sound_new_speed
  542.     move.b    1(a0),d7
  543.     move.b    d7,c_sound_table_cnt(a6)
  544.     bra.s    DM_sound_read_again
  545. DM_sound_new_speed:
  546.     and.b    #127,d7
  547.     move.b    d7,s_table_delay(a5)    
  548.     addq.b    #1,c_sound_table_cnt(a6)
  549.     bra.s    DM_sound_read_again
  550.  
  551. DM_new_sounddata:
  552.     asl.l    #5,d7
  553.     add.l    #s_sounddata,d7
  554.     add.l    c_sounddata(a6),d7
  555.     move.l    d7,h_sound(a4)        ; Set hardware sound data
  556.     addq.b    #1,c_sound_table_cnt(a6)
  557.  
  558. DM_portamento_handler:
  559.     tst.b    s_portamento(a5)
  560.     beq.s    DM_vibrator_handler
  561.     move.w    c_frequency(a6),d1
  562.     bne.s    DM_porta_con
  563.     moveq    #0,d0
  564.     lea    freq_table(pc),a1
  565.     move.b    c_frequency_data(a6),d0
  566.     asl.w    #1,d0
  567.     move.w    (a1,d0.w),d0
  568.     add.w    c_bendrate_freq(a6),d0
  569.     move.w    d0,c_frequency(a6)
  570.     bra.s    DM_vibrator_handler
  571.  
  572. DM_porta_con:
  573.     moveq    #0,d0
  574.     moveq    #0,d2
  575.     move.b    s_portamento(a5),d2
  576.     lea    freq_table(pc),a1
  577.     move.b    c_frequency_data(a6),d0
  578.     asl.w    #1,d0
  579.     move.w    (a1,d0.w),d0
  580.     add.w    c_bendrate_freq(a6),d0
  581.     cmp.w    d0,d1
  582.     beq.s    DM_vibrator_handler
  583.     blo.s    DM_porta_low
  584.     sub.w    d2,d1
  585.     cmp.w    d0,d1
  586.     bpl.s    DM_porta_high_con
  587.     move.w    d0,c_frequency(a6)
  588.     bra.s    DM_vibrator_handler
  589. DM_porta_high_con:
  590.     move.w    d1,c_frequency(a6)
  591.     bra.s    DM_vibrator_handler
  592. DM_porta_low:
  593.     add.w    d2,d1
  594.     cmp.w    d0,d1
  595.     bmi.s    DM_porta_low_con
  596.     move.w    d0,c_frequency(a6)
  597.     bra.s    DM_vibrator_handler
  598. DM_porta_low_con:
  599.     move.w    d1,c_frequency(a6)
  600.  
  601.  
  602. DM_vibrator_handler:
  603.     tst.b    c_vibrator_wait(a6)
  604.     beq.s    DM_calc_vibrator
  605.     subq.b    #1,c_vibrator_wait(a6)
  606.     bra.s    DM_bendrate_handler
  607. DM_calc_vibrator:
  608.     moveq    #0,d0
  609.     moveq    #0,d1
  610.     move.b    c_vibrator_pos(a6),d0
  611.     move.b    d0,d2
  612.     move.b    s_vibrator_step(a5),d1
  613.     mulu    d1,d0
  614.     move.w    d0,c_vibrator_freq(a6)
  615.  
  616.     btst    #0,c_status(a6)
  617.     bne.s    DM_vibrator_minus
  618. DM_vibrator_plus:
  619.     addq.b    #1,d2
  620.     cmp.b    c_vibrator_cmp(a6),d2
  621.     bne.s    DM_vibrator_no_reset
  622.     eor.b    #1,c_status(a6)
  623. DM_vibrator_no_reset:
  624.     move.b    d2,c_vibrator_pos(a6)
  625.     bra.s    DM_bendrate_handler
  626.  
  627. DM_vibrator_minus:
  628.     subq.b    #1,d2
  629.     bne.s    DM_vibrator_no_reset2
  630.     eor.b    #1,c_status(a6)
  631. DM_vibrator_no_reset2:
  632.     move.b    d2,c_vibrator_pos(a6)
  633.  
  634. DM_bendrate_handler:
  635.     moveq    #0,d0
  636.     move.l    c_sounddata(a6),a1
  637.     move.b    s_bendrate(a1),d0
  638.     bpl.s    DM_rate_minus
  639.     neg.b    d0
  640.  
  641.     add.w    d0,c_bendrate_freq(a6)
  642.     bra.s    DM_effect_handler
  643.  
  644. DM_rate_minus:
  645.     sub.w    d0,c_bendrate_freq(a6)
  646.  
  647. DM_effect_handler:
  648.     moveq    #0,d0
  649.     moveq    #0,d1
  650.     move.b    c_effect_data(a6),d0
  651.     move.b    c_effect_number(a6),d1
  652.     lea    effect_table(pc),a1
  653.     and.b    #$1f,d1
  654.     asl.l    #2,d1
  655.     move.l    (a1,d1.w),a1
  656.     jsr    (a1)
  657.  
  658. DM_arpeggio_handler:
  659.     move.l    a5,a1
  660.     add.l    #s_arpeggio,a1
  661.     move.b    c_arpeggio_cnt(a6),d0
  662.     move.b    (a1,d0),d1
  663.     addq.b    #1,c_arpeggio_cnt(a6)
  664.     and.b    #%00000111,c_arpeggio_cnt(a6)
  665.  
  666. DM_store_frequency:
  667.     moveq    #0,d0
  668.     lea    freq_table(pc),a1
  669.     move.b    c_frequency_data(a6),d0
  670.     add.b    d1,d0
  671.     asl.w    #1,d0
  672.     move.w    (a1,d0.w),d0
  673.  
  674.     moveq    #0,d1
  675.     moveq    #0,d2
  676.     move.b    c_vibrator_length(a6),d1
  677.     move.b    s_vibrator_step(a5),d2
  678.     mulu    d2,d1
  679.     sub.w    d1,d0
  680.     add.w    c_bendrate_freq(a6),d0
  681.     tst.b    s_portamento(a5)
  682.     beq.s    DM_store_no_port
  683.     move.w    c_frequency(a6),d0
  684.     bra.s    DM_store_port
  685. DM_store_no_port:
  686.     clr.w    c_frequency(a6)
  687. DM_store_port:
  688.     add.w    c_vibrator_freq(a6),d0
  689.     move.w    d0,h_frequency(a4)
  690.  
  691. DM_volume_handler:
  692.     moveq    #0,d1        ; actual volume
  693.     move.b    c_actual_volume(a6),d1
  694.  
  695.     move.b    c_status(a6),d0
  696.     and.b    #%00001110,d0
  697.  
  698.     tst.b    d0
  699.     bne.s    DM_test_decay
  700.  
  701.     tst.b    c_attack_delay(a6)
  702.     beq.s    DM_attack_handler
  703.     subq.b    #1,c_attack_delay(a6)
  704.     bra.L    DM_volume_exit
  705. DM_attack_handler:
  706.     move.b    s_attack_delay(a5),c_attack_delay(a6)
  707.     add.b    s_attack_step(a5),d1
  708.     cmp.b    #64,d1
  709.     blo.s    DM_attack_con
  710.     or.b    #%00000010,d0
  711.     or.b    #%00000010,c_status(a6)
  712.     moveq.b    #64,d1
  713. DM_attack_con:
  714.  
  715.  
  716. DM_test_decay:
  717.     cmp.b    #%00000010,d0
  718.     bne.s    DM_test_sustain
  719.  
  720.     tst.b    c_decay_delay(a6)
  721.     beq.s    DM_decay_handler
  722.     subq.b    #1,c_decay_delay(a6)
  723.     bra.s    DM_volume_exit
  724. DM_decay_handler:
  725.     move.b    s_decay_delay(a5),c_decay_delay(a6)
  726.     move.b    s_volume(a5),d2
  727.     sub.b    s_decay_step(a5),d1
  728.     cmp.b    d2,d1
  729.     bhi.s    DM_decay_con
  730.     move.b    s_volume(a5),d1
  731.     or.b    #%00000110,d0
  732.     or.b    #%00000110,c_status(a6)
  733. DM_decay_con:
  734.  
  735. DM_test_sustain:
  736.     cmp.b    #%00000110,d0
  737.     bne.s    DM_test_release
  738.  
  739.     tst.w    c_sustain(a6)
  740.     beq.s    DM_sustain_handler
  741.     subq.w    #1,c_sustain(a6)
  742.     bra.s    DM_volume_exit
  743. DM_sustain_handler:
  744.     or.b    #%00001110,d0
  745.     or.b    #%00001110,c_status(a6)
  746.  
  747. DM_test_release:
  748.     cmp.b    #%00001110,d0
  749.     bne.s    DM_volume_exit
  750.  
  751.     tst.b    c_release_delay(a6)
  752.     beq.s    DM_release_handler
  753.     subq.b    #1,c_release_delay(a6)
  754.     bra.s    DM_volume_exit
  755. DM_release_handler:
  756.     move.b    s_release_delay(a5),c_release_delay(a6)
  757.     sub.b    s_release_step(a5),d1
  758.     bpl.s    DM_release_con
  759.     and.b    #%00001001,c_status(a6)
  760.     moveq    #0,d1
  761. DM_release_con:
  762.  
  763. DM_volume_exit:
  764.     move.b    d1,c_actual_volume(a6)
  765.  
  766.     move.w    d1,h_volume(a4)
  767.     rts
  768.  
  769.  
  770. ; ----  INIT MUSIC  ----
  771.  
  772. all_check = 0
  773. trk1      = 4
  774.  
  775.  
  776. DM_init:
  777.     lea    track1(pc),a1
  778.     moveq    #24,d7
  779. DM_init_loop:
  780.     move.l    #data+[26*4],(a1)+
  781.     dbra    d7,DM_init_loop
  782.  
  783.     moveq    #23,d6
  784.     lea    track1+[24*4](pc),a1
  785. DM_init_loop2:
  786.     lea    data+4(pc),a0
  787.     move.l    d6,d7
  788. DM_init_loop3:
  789.     move.l    (a0)+,d0
  790.     add.l    d0,(a1)
  791.     dbra    d7,DM_init_loop3
  792.     subq.l    #4,a1
  793.     dbra    d6,DM_init_loop2
  794.  
  795.     lea    $dff0a0,a0
  796.     lea    channel1(pc),a6
  797.     bsr.s    DM_setup
  798.     add.l    #16,a0
  799.     lea    channel2(pc),a6
  800.     bsr.s    DM_setup
  801.     add.l    #16,a0
  802.     lea    channel3(pc),a6
  803.     bsr.s    DM_setup
  804.     add.l    #16,a0
  805.     lea    channel4(pc),a6
  806.     bsr.s    DM_setup
  807.     move.w    #$8001,channel1+c_dma
  808.     move.w    #$8002,channel2+c_dma
  809.     move.w    #$8004,channel3+c_dma
  810.     move.w    #$8008,channel4+c_dma
  811.     move.l    track1(pc),channel1+c_track
  812.     move.l    track2(pc),channel2+c_track
  813.     move.l    track3(pc),channel3+c_track
  814.     move.l    track4(pc),channel4+c_track
  815.     rts
  816.  
  817. DM_setup:
  818.     move.l    a0,c_hardware(a6)
  819.     move.w    #16,h_length(a0)
  820.     clr.w    h_volume(a0)
  821.     move.l    #safe_zero,c_sounddata(a6)
  822.     clr.w    c_frequency(a6)
  823.     move.l    snd_table(pc),d0
  824.     add.l    #16,d0
  825.     move.l    d0,c_sound_table(a6)
  826.     clr.w    c_sound_table_cnt(a6)
  827.     clr.w    c_track_cnt(a6)
  828.     move.l    blocks(pc),c_block(a6)
  829.     clr.l    c_block_cnt(a6)
  830.     clr.l    c_vibrator_wait(a6)
  831.     clr.l    c_vibrator_freq(a6)
  832.     clr.l    c_frequency_data(a6)
  833.     move.l    #1,c_sustain(a6)
  834.     clr.l    c_bendrate_freq(a6)
  835.     clr.l    c_arpeggio_cnt(a6)
  836.     clr.w    c_effect_data(a6)
  837.     rts
  838.  
  839. ; ----  EFFECT ROUTINES  ----
  840.  
  841. eff0:
  842.     rts
  843. eff1:
  844.     and.b    #15,d0            ; set play speed
  845.     beq.s    eff1_exit
  846.     move.b    d0,play_speed
  847. eff1_exit:
  848.     rts
  849. eff2:
  850.     sub.w    d0,c_bendrate_freq(a6)    ; slide freq up
  851.     rts
  852. eff3:
  853.     add.w    d0,c_bendrate_freq(a6)    ; slide freq down
  854.     rts
  855. eff4:
  856.     tst.b    d0
  857.     beq    led_off
  858.     bset    #1,$bfe001        ; led on/off
  859.     rts
  860. led_off:
  861.     bclr    #1,$bfe001
  862.     rts
  863. eff5:
  864.     move.b    d0,s_vibrator_wait(a5)    ; set vibrator wait
  865.     rts
  866. eff6:
  867.     move.b    d0,s_vibrator_step(a5)    ; set vibrator step
  868.     rts
  869. eff7:
  870.     move.b    d0,s_vibrator_length(a5); set vibrator length
  871.     rts
  872. eff8:
  873.     move.b    d0,s_bendrate(a5)    ; set bendrate
  874.     rts
  875. eff9:
  876.     move.b    d0,s_portamento(a5)    ; set portamento
  877.     rts
  878. effA:
  879.     cmp.b    #65,d0
  880.     bmi.s    effA_con
  881.     moveq.b    #64,d0
  882. effA_con:
  883.     move.b    d0,s_volume(a5)        ; set volume
  884.     rts
  885. effB:
  886.     move.b    d0,s_arpeggio(a5)    ; set arp 1
  887.     rts
  888. effC:
  889.     move.b    d0,s_arpeggio+1(a5)    ; set arp 2
  890.     rts
  891. effD:
  892.     move.b    d0,s_arpeggio+2(a5)    ; set arp 3
  893.     rts
  894. effE:
  895.     move.b    d0,s_arpeggio+3(a5)    ; set arp 4
  896.     rts
  897. effF:
  898.     move.b    d0,s_arpeggio+4(a5)    ; set arp 5
  899.     rts
  900. eff10:
  901.     move.b    d0,s_arpeggio+5(a5)    ; set arp 6
  902.     rts
  903. eff11:
  904.     move.b    d0,s_arpeggio+6(a5)    ; set arp 7
  905.     rts
  906. eff12:
  907.     move.b    d0,s_arpeggio+7(a5)    ; set arp 8
  908.     rts
  909. eff13:
  910.     move.b    d0,s_arpeggio(a5)    ; set arp 1 / 5
  911.     move.b    d0,s_arpeggio+4(a5)
  912.     rts
  913. eff14:
  914.     move.b    d0,s_arpeggio+1(a5)    ; set arp 2 / 6
  915.     move.b    d0,s_arpeggio+5(a5)
  916.     rts
  917. eff15:
  918.     move.b    d0,s_arpeggio+2(a5)    ; set arp 3 / 7
  919.     move.b    d0,s_arpeggio+6(a5)
  920.     rts
  921. eff16:
  922.     move.b    d0,s_arpeggio+3(a5)    ; set arp 4 / 8
  923.     move.b    d0,s_arpeggio+7(a5)
  924.     rts
  925. eff17:
  926.     cmp.b    #65,d0            ; set attack step
  927.     bmi.s    eff17_con
  928.     moveq.b    #64,d0
  929. eff17_con:
  930.     move.b    d0,s_attack_step(a5)
  931.     rts
  932. eff18:
  933.     move.b    d0,s_attack_delay(a5)    ; set attack delay
  934.     rts
  935. eff19:
  936.     cmp.b    #65,d0            ; set decay step
  937.     bmi.s    eff19_con
  938.     moveq.b    #64,d0
  939. eff19_con:
  940.     move.b    d0,s_decay_step(a5)
  941.     rts
  942. eff1A:
  943.     move.b    d0,s_decay_delay(a5)    ; set decay delay
  944.     rts
  945. eff1B:
  946.     move.b    d0,s_sustain(a5)    ; set sustain byte 1
  947.     rts
  948. eff1C:
  949.     move.b    d0,s_sustain+1(a5)    ; set sustain byte 2
  950.     rts
  951. eff1D:
  952.     cmp.b    #65,d0            ; set release step
  953.     bmi.s    eff1D_con
  954.     move.b    #64,d0
  955. eff1D_con:
  956.     move.b    d0,s_release_step(a5)
  957.     rts
  958. eff1E:
  959.     move.b    d0,s_release_delay(a5)    ; set release delay
  960.     rts
  961.  
  962.  
  963. effect_table:
  964.     dc.l    eff0 ,eff1 ,eff2 ,eff3 ,eff4 ,eff5 ,eff6 ,eff7
  965.     dc.l    eff8 ,eff9 ,effA ,effB ,effC ,effD ,effE ,effF
  966.     dc.l    eff10,eff11,eff12,eff13,eff14,eff15,eff16,eff17
  967.     dc.l    eff18,eff19,eff1A,eff1B,eff1C,eff1D,eff1E,eff0
  968.  
  969. play_speed:
  970.     dc.b    speed
  971.     even
  972. safe_zero:
  973.     blk.b    16,0
  974.  
  975. freq_table:
  976.  dc.w    0000,6848,6464,6096,5760,5424,5120,4832,4560,4304,4064,3840
  977.  dc.w    3616,3424,3232,3048,2880,2712,2560,2416,2280,2152,2032,1920
  978.  dc.w    1808,1712,1616,1524,1440,1356,1280,1208,1140,1076,0960,0904
  979.  dc.w    0856,0808,0762,0720,0678,0640,0604,0570,0538,0508,0480,0452
  980.  dc.w    0428,0404,0381,0360,0339,0320,0302,0285,0269,0254,0240,0226
  981.  dc.w    0214,0202,0190,0180,0170,0160,0151,0143,0135,0127,0120,0113
  982.  dc.w    0113,0113,0113,0113,0113,0113,0113,0113,0113,0113,0113,0113
  983.  
  984. channel1:
  985.     dc.l    $dff0a0        ; hardware pointer
  986.     dc.w    $8001        ; DMA value
  987.     dc.l    0        ; instrument pointer
  988.     dc.w    0        ; frequency
  989.     dc.l    0        ; sound table pointer
  990.     dc.b    0        ; sound table counter
  991.     dc.b    0        ; sound table delay
  992.     dc.l    0        ; track pointer
  993.     dc.w    0        ; track counter
  994.     dc.l    0        ; block pointer
  995.     dc.l    0        ; block counter
  996.     dc.b    0        ; vibrator wait
  997.     dc.b    0        ; vib length
  998.     dc.b    0        ; vib position
  999.     dc.b    0        ; vib length + & - (compare)
  1000.     dc.w    0        ; vib add freq
  1001.     dc.w    0        ; old freq for portamento
  1002.     dc.b    0        ; freq_dat
  1003.     dc.b    0        ; actual volume
  1004.     dc.b    0        ; attack delay
  1005.     dc.b    0        ; decay delay
  1006.     dc.w    0        ; sustain
  1007.     dc.b    0        ; release delay
  1008.     dc.b    1        ; play speed
  1009.     dc.w    0        ; bendrate freq
  1010.     dc.b    0        ; transpose
  1011.     dc.b    0        ; status
  1012.     dc.b    0        ; arpeggio counter
  1013.     dc.b    0        ; arpeggio data
  1014.     dc.b    0        ; arpeggio on/off
  1015.     dc.b    0        ; effect number
  1016.     dc.b    0        ; effect data
  1017.     even
  1018.  
  1019. channel2:
  1020.     blk.b    channel2-channel1,0
  1021. channel3:
  1022.     blk.b    channel2-channel1,0
  1023. channel4:
  1024.     blk.b    channel2-channel1,0
  1025.  
  1026. track1:
  1027.     dc.l    0
  1028. track2:
  1029.     dc.l    0
  1030. track3:
  1031.     dc.l    0
  1032. track4:
  1033.     dc.l    0
  1034. blocks:
  1035.     dc.l    0
  1036.  
  1037. snd_table:
  1038.     blk.l    20,0
  1039.  
  1040. ;************************
  1041. newcopper:
  1042. dc.l    $01200007,$01228000,$01240007,$01268000
  1043. dc.l    $01280007,$012a8000,$012c0007,$012e8000
  1044. dc.l    $01300007,$01328000,$01340007,$01368000
  1045. dc.l    $01380007,$013a8000,$013c0007,$013e8000
  1046. dc.l    $008e1f78,$00901cc1
  1047. dc.l    $00920028,$009400d8
  1048. dc.l    $0108000a
  1049. dc.l    $010a0000
  1050. shifter:
  1051. dc.l    $01020000
  1052. dc.l    $01040040
  1053. dc.l    $01800000,$01820000,$0184000b,$0186022b
  1054. dc.l    $0188034c,$018a056d,$018c088d,$018e0aae
  1055. dc.l    $01900000,$01920999,$01940666,$01960444
  1056. dc.l    $01005600
  1057. logopl:
  1058. dc.l    $00e00000,$00e20000
  1059. dc.l    $00e80000,$00ea0000
  1060. dc.l    $00f00000,$00f20000
  1061. dc.l    $00e40007,$00e68000
  1062. dc.l    $00ec0007,$00ee8000
  1063. dc.l    $6009fffe
  1064. lettercop:
  1065. dc.l    $00e40000,$00e60000
  1066. dc.l    $00ec0000,$00ee0000
  1067. dc.l    $ff09fffe
  1068. dc.l    $00e40007,$00e68000
  1069. dc.l    $00ec0007,$00ee8000
  1070. dc.l    $fffffffe
  1071.  
  1072. oldcopper:
  1073. dc.l    0
  1074. even
  1075. gfxname: dc.b    "graphics.library",0
  1076. even
  1077. gfxbase:
  1078. dc.l    0
  1079. even
  1080. ;ONLY USE THIS CHARS... 
  1081. ;ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,'!?()-/abcdefghijk+%:<>
  1082. ;a = BLOK
  1083. ;j = LETTER
  1084. ;k = PHONE
  1085. ;<> = WINGS !!!
  1086. ;USE AS MANY SCREENS AS YOU WANT... BEWARE... EACH LINE HAS 40 CHARS
  1087. ;EACH SCREEN HAS 9 LINES !!!!!!!!!
  1088.  
  1089. text:
  1090. dc.b    "   biiiiiiiiiiiih   "
  1091. dc.b    "   c < ANGELS > g   "
  1092. dc.b    "   deeeeeeeeeeeef   "
  1093. dc.b    "                    "
  1094. dc.b    "      PRESENTS      "
  1095. dc.b    "    ANOTHER COOL    "
  1096. dc.b    "                    "
  1097. dc.b    "       CRACK!       "
  1098. dc.b    "                    "
  1099.  
  1100. dc.b    " k CALL OUR BBS'S k "
  1101. dc.b    "--------------------"
  1102. dc.b    "                    "
  1103. dc.b    " JUST PUT           "
  1104. dc.b    "     THE BBS        "
  1105. dc.b    "        NUMBERS     "
  1106. dc.b    "           IN HERE !"
  1107. dc.b    "                    "
  1108. dc.b    "                    "
  1109.  
  1110. dc.b    "  j OR WRITE TO j   "
  1111. dc.b    "                    "
  1112. dc.b    "P.O.BOX 10, OBERCORN"
  1113. dc.b    "     LUXEMBURG      "
  1114. dc.b    "                    "
  1115. dc.b    "  P.O.BOX 31, 9910  "
  1116. dc.b    "MARIAKERKE, BELGIUM "
  1117. dc.b    "                    "
  1118. dc.b    "                    "
  1119.  
  1120. dc.b    "  TRASH CODING BY   "
  1121. dc.b    "                    "
  1122. dc.b    "                    "
  1123. dc.b    "     < VINNY >      "
  1124. dc.b    "                    "
  1125. dc.b    "                    "
  1126. dc.b    "GREETZ TO ALL ANGELS"
  1127. dc.b    "      MEMBERS.      "
  1128. dc.b    "                    "
  1129.  
  1130. dc.b    "                    "
  1131. dc.b    "   INTRO DONE BY    "
  1132. dc.b    "                    "
  1133. dc.b    "                    "
  1134. dc.b    "    ZAK'N VINNY     "
  1135. dc.b    "                    "
  1136. dc.b    "                    "
  1137. dc.b    "                    "
  1138. dc.b    "    < THE END >     "
  1139. blk.b    180,$ff
  1140. even
  1141.  
  1142. letters:
  1143. dc.b    "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.,'!?()-/abcdefghijk"
  1144. dc.b    "+%:<> "
  1145. even
  1146.  
  1147. VINNY:
  1148. dc.l    $54484953,$20434f4f,$4c20494e,$54524f20
  1149. dc.l    $57415320,$434f4445,$44204259,$2056494e
  1150. dc.l    $4e592e2e,$2e205448,$45205649,$4e2d4d41
  1151. dc.l    $4e2e2e2e,$20475245,$45545a20,$544f2041
  1152. dc.l    $4c4c204f,$54484552,$204d454d,$42455253
  1153. dc.l    $20212121
  1154.  
  1155. adds:
  1156. dc.w    $0000,$0002,$0004,$0006,$0008,$000a,$000c,$000e
  1157. dc.w    $0010,$0012,$0014,$0016,$0018,$001a,$001c,$001e,$0020
  1158. dc.w    $0220,$0222,$0224,$0226,$0228,$022a,$022c,$022e
  1159. dc.w    $0230,$0232,$0234,$0236,$0238,$023a,$023c,$023e,$0240
  1160. dc.w    $0440,$0442,$0444,$0446,$0448,$044a,$044c,$044e
  1161. dc.w    $0450,$0452,$0454,$0456,$0458,$045a,$045c,$045e,$0460
  1162. dc.w    $0660,$0662,$0664,$0666,$0668,$066a,$066c,$066e
  1163. dc.w    $0670,$0672,$0674,$0676,$0678
  1164. even
  1165.  
  1166. addspr:
  1167. dc.w    0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38
  1168. dc.w    736,738,740,742,744,746,748,750,752,754,756,758,760,762
  1169. dc.w    764,766,768,770,772,774
  1170. dc.w    $5c0,$5c2,$5c4,$5c6,$5c8,$5ca,$5cc,$5ce,$5d0,$5d2
  1171. dc.w    $5d4,$5d6,$5d8,$5da,$5dc,$5de,$5e0,$5e2,$5e4,$5e6
  1172. dc.w    $8a0,$8a2,$8a4,$8a6,$8a8,$8aa,$8ac,$8ae,$8b0,$8b2
  1173. dc.w    $8b4,$8b6,$8b8,$8ba,$8bc,$8be,$8c0,$8c2,$8c4,$8c6
  1174. dc.w    $b80,$b82,$b84,$b86,$b88,$b8a,$b8c,$b8e,$b90,$b92
  1175. dc.w    $b94,$b96,$b98,$b9a,$b9c,$b9e,$ba0,$ba2,$ba4,$ba6
  1176. dc.w    $e60,$e62,$e64,$e66,$e68,$e6a,$e6c,$e6e,$e70,$e72
  1177. dc.w    $e74,$e76,$e78,$e7a,$e7c,$e7e,$e80,$e82,$e84,$e86
  1178. dc.w    $1140,$1142,$1144,$1146,$1148,$114a,$114c,$114e,$1150,$1152
  1179. dc.w    $1154,$1156,$1158,$115a,$115c,$115e,$1160,$1162,$1164,$1166
  1180. dc.w    $1420,$1422,$1424,$1426,$1428,$142a,$142c,$142e,$1430,$1432
  1181. dc.w    $1434,$1436,$1438,$143a,$143c,$143e,$1440,$1442,$1444,$1446
  1182. dc.w    $1700,$1702,$1704,$1706,$1708,$170a,$170c,$170e,$1710,$1712
  1183. dc.w    $1714,$1716,$1718,$171a,$171c,$171e,$1720,$1722,$1724,$1726
  1184. sprcount:
  1185. dc.w    0
  1186.  
  1187. plaats:
  1188. dc.w    0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
  1189. dc.w    20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39
  1190. dc.w    40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59
  1191. dc.w    60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
  1192. dc.w    80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99
  1193. dc.w    100,101,102,103,104,105,106,107,108,109,110,111,112,113
  1194. dc.w    114,115,116,117,118,119
  1195. dc.w    120,121,122,123,124,125,126,127,128,129,130,131,132,133
  1196. dc.w    134,135,136,137,138,139
  1197. dc.w    140,141,142,143,144,145,146,147,148,149,150,151,152,153
  1198. dc.w    154,155,156,157,158,159
  1199. dc.w    160,161,162,163,164,165,166,167,168,169,170,171,172,173
  1200. dc.w    174,175,176,177,178,179
  1201.  
  1202. plaats2:
  1203. dc.w    0
  1204. dc.w    20,1
  1205. dc.w    40,21,2
  1206. dc.w    60,41,22,3
  1207. dc.w    80,61,42,23,4
  1208. dc.w    100,81,62,43,24,5
  1209. dc.w    120,101,82,63,44,25,6
  1210. dc.w    140,121,102,83,64,45,26,7
  1211. dc.w    160,141,122,103,84,65,46,27,8
  1212. dc.w    161,142,123,104,85,66,47,28,9
  1213. dc.w    162,143,124,105,86,67,48,29,10
  1214. dc.w    163,144,125,106,87,68,49,30,11
  1215. dc.w    164,145,126,107,88,69,50,31,12
  1216. dc.w    165,146,127,108,89,70,51,32,13
  1217. dc.w    166,147,128,109,90,71,52,33,14
  1218. dc.w    167,148,129,110,91,72,53,34,15
  1219. dc.w    168,149,130,111,92,73,54,35,16
  1220. dc.w    169,150,131,112,93,74,55,36,17
  1221. dc.w    170,151,132,113,94,75,56,37,18
  1222. dc.w    171,152,133,114,95,76,57,38,19
  1223. dc.w    172,153,134,115,96,77,58,39
  1224. dc.w    173,154,135,116,97,78,59
  1225. dc.w    174,155,136,117,98,79
  1226. dc.w    175,156,137,118,99
  1227. dc.w    176,157,138,119
  1228. dc.w    177,158,139
  1229. dc.w    178,159
  1230. dc.w    179
  1231.  
  1232.  
  1233. plaats3:
  1234. dc.w    90,89,69,70,71,91,111,110,109,108,88,68,48,49,50,51,52
  1235. dc.w    72,92,112,132,131,130,129,128,127,107,87,67,47,27
  1236. dc.w    28,29,30,31,32,33,53,73,93,113,133,153,152,151,150
  1237. dc.w    149,148,147,146,126,106,86,66,46,26,6,7,8,9,10,11,12,13,14
  1238. dc.w    34,54,74,94,114,134,154,174,173,172,171,170,169,168,167
  1239. dc.w    166,165,145,125,105,85,65,45,25,5
  1240. dc.w    15,35,55,75,95,115,135,155,175
  1241. dc.w    164,144,124,104,84,64,44,24,4
  1242. dc.w    16,36,56,76,96,116,136,156,176
  1243. dc.w    163,143,123,103,83,63,43,23,3
  1244. dc.w    17,37,57,77,97,117,137,157,177
  1245. dc.w    162,142,122,102,82,62,42,22,2
  1246. dc.w    18,38,58,78,98,118,138,158,178
  1247. dc.w    161,141,121,101,81,61,41,21,1
  1248. dc.w    19,39,59,79,99,119,139,159,179
  1249. dc.w    160,140,120,100,80,60,40,20,0
  1250.  
  1251. plaats4:
  1252. dc.w    179,0,178,1,177,2,176,3,175,4,174,5,173,6,172,7,171,8,170,9
  1253. dc.w    169,10,168,11,167,12,166,13,165,14,164,15,163,16,162,17,161
  1254. dc.w    18,160,19
  1255. dc.w    140,39,141,38,142,37,143,36,144,35,145,34,146,33,147,32
  1256. dc.w    148,31,149,30,150,29,151,28,152,27,153,26,154,25,155,24
  1257. dc.w    156,23,157,22,158,21,159,20
  1258. dc.w    139,40,138,41,137,42,136,43,135,44,134,45,133,46,132,47,131
  1259. dc.w    48,130,49,129,50,128,51,127,52,126,53,125,54,124,55,123,56
  1260. dc.w    122,57,121,58,120,59
  1261. dc.w    100,79,101,78,102,77,103,76,104,75,105,74,106,73,107,72,108
  1262. dc.w    71,109,70,110,69,111,68,112,67,113,66,114,65,115,64,116,63
  1263. dc.w    117,62,118,61,119,60
  1264. dc.w    99,80,98,81,97,82,96,83,95,84,94,85,93,86,92,87,91,88,90,89
  1265.  
  1266. plaats5:
  1267. dc.w    0,161,20,141,40,121,60,101,80,81,100,61,120,41,140,21,160,1
  1268. dc.w    2,163,22,143,42,123,62,103,82,83,102,63,122,43,142,23,162,3
  1269. dc.w    4,165,24,145,44,125,64,105,84,85,104,65,124,45,144,25,164,5
  1270. dc.w    6,167,26,147,46,127,66,107,86,87,106,67,126,47,146,27,166,7
  1271. dc.w    8,169,28,149,48,129,68,109,88,89,108,69,128,49,148,29,168,9
  1272. dc.w    10,171,30,151,50,131,70,111,90,91,110,71,130,51,150,31,170,11
  1273. dc.w    12,173,32,153,52,133,72,113,92,93,112,73,132,53,152,33,172,13
  1274. dc.w    14,175,34,155,54,135,74,115,94,95,114,75,134,55,154,35,174,15
  1275. dc.w    16,177,36,157,56,137,76,117,96,97,116,77,136,57,156,37,176,17
  1276. dc.w    18,179,38,159,58,139,78,119,98,99,118,79,138,59,158,39,178,19
  1277.  
  1278. plaats6:
  1279. dc.w    2,22,42,41,40,20,0,1,21
  1280. dc.w    5,25,45,44,43,23,3,4,24
  1281. dc.w    8,28,48,47,46,26,6,7,27
  1282. dc.w    11,31,51,50,49,29,9,10,30
  1283. dc.w    14,34,54,53,52,32,12,13,33
  1284. dc.w    17,37,57,56,55,35,15,16,36
  1285. dc.w    19,39,59,58,38,18
  1286. dc.w    62,82,102,101,100,80,60,61,81
  1287. dc.w    65,85,105,104,103,83,63,64,84
  1288. dc.w    68,88,108,107,106,86,66,67,87
  1289. dc.w    71,91,111,110,109,89,69,70,90
  1290. dc.w    74,94,114,113,112,92,72,73,93
  1291. dc.w    77,97,117,116,115,95,75,76,96
  1292. dc.w    79,99,119,118,98,78
  1293. dc.w    122,142,162,161,160,140,120,121,141
  1294. dc.w    125,145,165,164,163,143,123,124,144
  1295. dc.w    128,148,168,167,166,146,126,127,147
  1296. dc.w    131,151,171,170,169,149,129,130,150
  1297. dc.w    134,154,174,173,172,152,132,133,153
  1298. dc.w    137,157,177,176,175,155,135,136,156
  1299. dc.w    139,159,179,178,158,138
  1300.  
  1301.  
  1302. plaats7:
  1303. dc.w    92,46,124,59,136,150,29,1,101,15,55,6,107,99,153,165,23
  1304. dc.w    60,12,114,49,85,97,128,160,21,52,148,17,179,175,63,11,110
  1305. dc.w    35,142,58,152,169,4,156,74,103,31,89,162,67,119,10,112,71
  1306. dc.w    22,123,108,33,98,154,131,82,0,27,146,95,149,64,26,113,177
  1307. dc.w    104,140,116,76,7,66,100,61,115,48,126,134,139,172,143,42
  1308. dc.w    19,30,129,138,44,147,50,121,133,37,25,122,159,166,24,16,2
  1309. dc.w    158,120,88,94,79,170,163,86,9,111,34,20,174,81,39,28,145
  1310. dc.w    70,62,105,38,32,155,91,144,40,161,171,168,83,73,118,53
  1311. dc.w    14,45,137,57,141,102,36,8,173,65,178,3,18,78,106,5,132,164
  1312. dc.w    56,127,77,157,41,167,54,68,135,80,43,96,84,13,125,117,47
  1313. dc.w    75,87,51,151,109,93,69,72,90,130,176
  1314.  
  1315. keeper:
  1316. dc.l    0
  1317. klaar:
  1318. dc.l    1
  1319. verander:
  1320. dc.l    1
  1321. test:
  1322. dc.b    1
  1323. even
  1324. blk.b    100,0
  1325. kloot:
  1326. dc.w    0
  1327. checkg:
  1328. dc.b    0
  1329. even
  1330. keeper2:
  1331. dc.l    0
  1332. keeper3:
  1333. dc.l    0
  1334. keeppos:
  1335. dc.l    0
  1336. keepcount:
  1337. dc.w    0
  1338. uit:
  1339. dc.w    0
  1340. scrollcounter:
  1341. dc.b    0
  1342. scrolladds:
  1343. dc.b    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
  1344. dc.b    23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41
  1345. dc.b    42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60
  1346. dc.b    61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79
  1347. dc.b    80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98
  1348. dc.b    99,100,101,102,103,104,105,106,107,108,109,110,111,112
  1349. dc.b    113,114
  1350. scrollsubs:
  1351. dc.b    112,111,110,109,108,107,106,105,104,103,102,101,100,99,98
  1352. dc.b    97,96,95,94,93,92,91,90,89,88,87,86,85,84,83,82,81,80,79
  1353. dc.b    78,77,76,75,74,73,72,71,70,69,68,67,66,65,64,63,62,61,60
  1354. dc.b    59,58,57,56,55,54,53,52,51,50,49,48,47,46,45,44,43,42,41
  1355. dc.b    40,39,38,37,36,35,34,33,32,31,30,29,28,27,26,25,24,23,22
  1356. dc.b    21,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
  1357. lamer:
  1358. dc.b    3
  1359. even
  1360. font:
  1361. blk.b    4352,0
  1362. angels:
  1363. blk.b    4704,0
  1364. data:
  1365. blk.b    9412,0
  1366. b:
  1367.